// MAXIMIZAR LA VENTANA SHIFT + ESC
package com.mybank.domain;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public abstract class Cuenta
{
    protected double saldo;
    protected int numero;

    public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public void setSaldo(double saldo) {
		this.saldo = saldo;
	}

	protected Cuenta()
    {

    }

    protected Cuenta(double saldo)
    {
        this.saldo = saldo; 
    }

    public double getSaldo()
    {
        return saldo;
    }


    public void deposito(double monto)
	{
        saldo = saldo + monto;	
        
		String driverDb;
		String urlDb;
        String usuarioDb;
        String passwordDb;
        // leo las propiedades ingresadas en Controller
		Properties p = System.getProperties();		
		
		driverDb = p.getProperty("driverDb");
		urlDb = p.getProperty("urlDb");
		usuarioDb = p.getProperty("usuarioDb");
		passwordDb = p.getProperty("passwordDb");

		try 
		{
			Class.forName(driverDb);
		} 
		catch (ClassNotFoundException e) 
		{
			System.out.println(e.toString());
		}
		
		String sql = "UPDATE CUENTAS " +
					" SET SALDO = '" + saldo + 
					"' WHERE NUMERO = '" + this.numero + "'";

		try 
		{
			Connection con = DriverManager.getConnection(urlDb, usuarioDb,passwordDb);
			Statement s = con.createStatement();

			s.executeUpdate(sql);

			s.close();
			con.close();
			
		}
		catch (SQLException e) 
		{
		} 
		catch (Exception e) 
		{
		}
	}

    
    public abstract boolean extraccion (double monto);
    
}
